/**
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2007，所有权利保留。
 * 
 * 项目名：	rumba
 * 文件名：	QMenuItemReader.java
 * 模块说明：	
 * 修改历史：
 * Dec 19, 2007 - lxm - 创建。
 */
package com.hd123.rumba.gwt.entry.server.menu;

import com.hd123.rumba.exception.BusinessException;
import com.hd123.rumba.gwt.entry.client.entry.QEntry;
import com.hd123.rumba.gwt.entry.client.menu.QMenuItem;
import com.hd123.rumba.gwt.entry.server.entry.QEntryReader;
import com.hd123.rumba.navigation.menu.BMenuItem;
import com.hd123.rumba.util.ObjectUtil;

/**
 * 菜单项 | 业务层.查询 | 阅读器
 * 
 * @author lxm
 * 
 */
public class QMenuItemReader {

  public void read(BMenuItem source) throws BusinessException {
    ObjectUtil.checkParameterNotNull(source, "source");
    if (target == null)
      throw new BusinessException("属性target不可为null。");
    target.setId(source.getId());
    target.setCaption(source.getCaption());
    target.setAlign(source.getAlign());
    target.setHint(source.getHint());
    target.setImage(source.getImage());
    target.setHotImage(source.getHotImage());

    target.setEntry(null);
    if (source.getEntry() != null) {
      QEntryReader reader = new QEntryReader();
      reader.setTarget(new QEntry());
      reader.read(source.getEntry());
      target.setEntry(reader.getTarget());
    }
  }

  private QMenuItem target;

  public QMenuItem getTarget() {
    return target;
  }

  public void setTarget(QMenuItem target) {
    this.target = target;
  }
}
